08. References & Resources

References & Resources

This lesson provides a list of resources for topics you should know in order to get the most from the Artificial Intelligence Nanodegree program. You are NOT required to review or complete all these resources before proceeding to the course content. These resources are strictly provided as references that you may turn to if you find yourself blocked by unfamiliar content outside the scope of instruction in the Artificial Intelligence lessons.

The Student Resources Page includes weekly schedules for each term to help you plan and keep pace, and useful information on the Project Assistant tool used to submit projects.


Python Programming

The Artificial Intelligence Nanodegree program requires intermediate Python programming skills, but prior intermediate-level programming experience in almost any language should be adequate to complete the projects. If Python is new, then it will help if you have prior experience in a C-style (C++, Java, Javascript, Python, etc.) language that supports object oriented programming.

Required Skills

  • Recognize and use variables
  • Control program flow with conditional statements
  • Looping (including list comprehensions & generator statements)
  • Write, modify, and use functions
  • Write, modify, & use classes/objects (including object attributes & methods)

Resources

- Design of Computer Programs with Peter Norvig

Shell Programming

The Artificial Intelligence Nanodegree program uses a couple of tools that are most conveniently executed as shell scripts including Git, and the Udacity Project Assistant. You should be able to launch a terminal (bash/cmd/powershell, etc., depending on your OS) and execute programs from the command line. (Specific instructions for each required tool are provided in the classroom.)

Required Skills

  • Git basics (cloning a repository)
  • Use a shell terminal to execute programs like:
    • Python & conda (package manager)
    • Udacity Project Assistant CLI tool

Resources


Mathematics

The Artificial Intelligence Nanodegree program expects some familiarity with advanced mathematics including differential calculus, linear algebra, and discrete mathematics

Required Topics

  • Continuous functions & derivatives
  • Linear algebra (vector spaces & operations)
  • Elementary Graph Theory (definitions for nodes, edges, connectedness, etc.)
  • Complexity Classes (big-O notation)
  • Elementary Set Theory (definition of a set, etc.)
  • Basic Logical Statements (truth tables, etc.)

Resources